package nyist.media.service;

import nyist.media.bean.role.RoleInfoBean;
import nyist.media.bean.role.RoleListBean;
import nyist.media.bean.role.RoleOptionBean;
import nyist.media.entity.admin.Role;
import nyist.media.page.AppPage;
import org.springframework.data.domain.PageRequest;

import java.util.List;

/**
 * 角色
 *
 * @author : dcf
 * @date : 2019/3/12
 */

public interface RoleService {

    /**
     * 查询所有的角色信息
     *
     * @return 列表信息
     */
    List<RoleOptionBean> findAll();

    /**
     * 查询角色详情信息
     *
     * @param roleId
     * @return
     */
    RoleInfoBean getInfo(Long roleId);

    /**
     * 角色列表
     *
     * @param pageRequest 分页对象
     * @return 角色列表
     */
    AppPage<RoleListBean> findPage(PageRequest pageRequest);

    /**
     * 更新角色
     * @param param 更新的角色信息
     */
    void update(RoleInfoBean param);

    /**
     * 保存角色信息
     * @param param 角色信息
     */
    void save(RoleInfoBean param);

    /**
     * 批量删除角色
     * @param ids 角色Ids
     */
    void deleteAll(Long[] ids);
}

